﻿using System.Collections.Generic;

namespace SmartAssembly
{
    public sealed class ReportedException
    {
        private readonly string m_ExceptionTypeName;
        private readonly string m_ExceptionMessage;
        private readonly IEnumerable<ReportedStackFrame> m_ReportedStackFrames;

        internal ReportedException(string exceptionTypeName, string exceptionMessage, IEnumerable<ReportedStackFrame> reportedStackFrames)
        {
            m_ExceptionTypeName = exceptionTypeName;
            m_ExceptionMessage = exceptionMessage;
            m_ReportedStackFrames = reportedStackFrames;
        }

        public string ExceptionTypeName
        {
            get { return m_ExceptionTypeName; }
        }

        public string ExceptionMessage
        {
            get { return m_ExceptionMessage; }
        }

        public IEnumerable<ReportedStackFrame> ReportedStackFrames
        {
            get { return m_ReportedStackFrames; }
        }
    }
}